class Out{
    public static int age = 10;
    public int data1 = 1;
    public int data2 = 2;
    class In{
        public int age = 100;

        public int data3 = 3;       

        public static int a = 10;
        public void pront(){
            System.out.println(age);
            System.out.println(Out.this.age);
            System.out.println(data1);

        }
    }
}

class Wai{
    public void print(){
        System.out.println("wai::print");
    }
   static class Nei{
        public void print(){
            System.out.println("nei::print");
        }
    }
}
interface A {
    void func();
}
public class Haha {

    public static void main(String[] args) {
        A a =new A(){
            @Override
            public void func() {
                System.out.println("这是重写的方法");
            }
        };
        a.func();
        new A(){
            @Override
            public void func() {
                System.out.println("这是重写的方法");
            }
        }.func();

    }
   public static void main2(String[] args){
       Wai.Nei nei = new Wai.Nei();
       nei.print();
   }

    public static void main1(String[] args) {
        Out out = new Out();
        Out.In in = out.new In();
        Out.In in1 = new Out().new In();
        in.pront();

    }


}
